// 自定义目录复制函数

// 导入文件系统目录
const fs = require("fs");

/**
 * 自定义目录拷贝函数
 * @param {*} src  被拷贝的源目录
 * @param {*} dest 要复制的目标目录
 */
function copyDir(src,dest){
   // 创建目标目录
   fs.mkdirSync(dest,{recursive:true});
   // 读取源目录
   const files = fs.readdirSync(src);
   // 遍历源目录中所有文件
   for (let f of files){
        // 拼接完整路径
        srcfile = src + "/" + f; // 源文件
        destfile = dest + "/" + f; // 目标文件
        // 获取源文件信息
        const stats = fs.statSync(srcfile);
        // 判断当前文件是否是目录
        if(stats.isDirectory()){
            // 递归调用自己进行子目录拷贝
            copyDir(srcfile, destfile);
        }
        // 判断当前文件是否是文件
        if(stats.isFile()){
            // 执行拷贝
            fs.copyFileSync(srcfile, destfile);
        }
   }
}


// 测试
copyDir("./aa","./bb");